Global Internet traffic has experienced dramatic growth in recent years. Video has been a major contributor to this growth and will continue to dominate the traffic on the networks. This trend is the result of the increase in the popularity of devices like smartphones, tablets, gaming devices and smart TVs for accessing Over-The-Top (OTT) video content. In addition to Quality of Service (QoS), operators are now expected to provide video services to these devices with the same Quality of Experience (QoE) that the consumers with traditional TV services are accustomed to. It should be noted that QoS metrics capture objective and system-related characteristics, such as latency, throughput, and the like, while QoE metrics are typically subjective and user-oriented, such as consistent video quality. QoS focuses on the performance of the network while QoE focuses on the end users' experience of a service.
Adaptive bitrate (ABR) video has become the primary delivery means for consumers watching video over the Internet. ABR streaming is a technology for streaming multimedia over computer networks. It adjusts video stream quality in real time by detecting the user's available bandwidth throughout the video session. In ABR, the source content is compressed at multiple bit rates. Each bit rate stream is then partitioned into multiple segments and stored in the server. The stream set has a designated segment duration (typically between 2 and 10 seconds) and is divided into uniform segments accordingly. Upon a GET request, the streaming client is provided a manifest file with the available bit rate streams and the segments of the streams. The client, depending on implementation, selects the video rate that is most appropriate for its needs based on network conditions. In addition to maximizing QoE by minimizing video pauses due to buffering issues when watching video over an unmanaged network, ABR attempts to provide a good viewing experience to users to all devices.
Most adaptive streaming technologies are built for transmission over HTTP/TCP/IP. This is due to the fact that, firstly, Hypertext Transfer Protocol (HTTP) is a connectionless protocol; meaning it does not maintain a fixed link between the source and the destination for the entire duration of the session. Secondly, HTTP traffic can easily traverse through firewalls and Network Address Translation (NAT) in the Internet. Thirdly, HTTP works well with standard transparent caching and Content Delivery Networks (CDNs), making it much more scalable than Real-time Transport Protocol (RTP).
Traditional HTTP and non-HTTP clients that run on devices in a home network compete with each other for bandwidth consumption. An ABR client considers central processing unit (CPU) usage and network latency, but a decision for choosing a specific bit rate is still made by the ABR client in isolation without considering the impact of the decision on other streams of data flowing through a network pipe.
Bandwidth decisions made in isolation result in deterioration of the Quality of Experience (QoE) for the end users, especially jitter sensitive consumption of data such as audio and video. Low QoE means that there is no guarantee that the video quality remains consistent. For example, a device that is downloading content at 8 Mbps and watching content at 1080p at any instant may experience network congestion and lower its download bit rate to 2.5 Mbps, thereby degrading the quality of the video to, for example, 480p. Upon improvement of the network state, the device will shift back to a higher bit rate and hence a better video quality. Such frequent switching of video quality causes poor QoE.
Some existing systems attempt to manage QoE and bandwidth by generating a custom manifest based on bandwidth or devices. However, suboptimal client behavior of flushing and reloading segments results in a lot of wasted bandwidth and inconsistency in video QoE. Additionally, bandwidth contention causes inaccurate client models of available bandwidth resulting in suboptimal bitrate selection. It is important to note that with ABR streaming, the encoded video bit rate and the delivery bit rate over the network are not the same. Thus, the manifest does not control the bandwidth delivery of each segment.
There are also some custom players from video providers which attempt to exchange information when both players are attempting to watch content from the same OTT provider.
Traffic management in routers is controlled based on the traffic class. HTTP traffic can be assigned a priority classification and UDP traffic can have another priority classification.
Another issue is that many network providers implement a “data cap”, which limits the amount of data a user may consume, penalty free, over a period of time (for example, a month). Another issue that arises from consumption of data from a provider (Digital Subscriber Line (DSL), Data Over Cable Service Interface Specification (DOCSIS), or others) is due to contemporary pricing models, which penalize users whose consumption of data exceeds the data cap limit during a user's billing cycle. The penalty is generally a surcharge imposed and/or a severe bandwidth throttle that is applied by the provider on the user. If the user consumes more data than the cap allows, the provider may cut them off entirely from data, throttle their data to a very slow level, or impose exorbitant charges for overages. Existing technology lets users use data as fast as they want until they are suddenly cut off, throttled, or hit with an exorbitant charge.
Adaptive video bitrate (ABR) algorithms exacerbate this problem by balancing the bitrate (or quality of the video) with the current network conditions, with the goal of having the highest bitrate video possible. There is a need to address all of the above issues in a holistic solution.